#pragma once
#include "stdafx.h"
#include "Configuration.h"
class Configuration
{
public:
	bool configurationEnabled;

	//Control setting
	int maxSteps;	
	bool renderingEnabled;

	//BehaviorAnalysis setting
	int bufferSize;
	bool diffusionDistanceEnabled;
	bool fileheadEnabled;
	bool orderParameterEnabled;
	bool positionVelocityEnabled;
	
	//Flock setting
	double alignmentStrength;
	int alignmentType;
	int ballRadius;//not belong here
	int boundaryType;
	bool clusteringEnabled;
	int clusterNum;
	double cohesionStrength;
	int cohesionType;
	double flockSize;
	bool gridEnabled;
	double initRange;
	int neighborNum;
	double neighborRange;
	double noiseStrength;
	int noiseType;
	double systemSize;
	double timeStep;
	double weightVelocity;
	//Flock cohesion setting
	double c_aS;
	double c_ra;
	double c_rb;
	double c_re;
	double c_rS;


public:
	Configuration();
	Configuration& operator=(const Configuration&);
	void enableConfiguration();
	void reset();
};